package edu.zut.controller;

import edu.zut.pojo.UserInfo;
import edu.zut.service.UserService;
import edu.zut.service.impl.UserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 将其视为一个控制器，能够处理请求以及响应
 * 需要通过注解将其以控制器身份注册到Spring容器中
 * @Controller: 声明当前类是一个控制器类，其创建权交给Spring进行管理
 */
@Controller
public class HelloController {

    @Autowired
    UserService userService;

    /**
     * localhost:8080/hello 自动映射到hello方法
     * 通过注解@RequestMapping定义url和方法的映射
     * @ResponseBody: 将数据以响应体的形式返回
     */
    @RequestMapping(value = "/hello")
    @ResponseBody
    public String hello(){

        userService.getUser();

        return "hello world!!!!!!!!!!!";
    }

    //templates下的资源必须通过请求进行访问
    @GetMapping("/toHello")
    public String toHello(Map<String,Object> map, HttpSession session){
        map.put("msg","欢迎访问Thymeleaf!!!!");
        UserInfo userInfo = new UserInfo();
        userInfo.setEmail("710395798@qq.com");
        userInfo.setUsername("jack");
        map.put("userInfo",userInfo);
        session.setAttribute("mySchool","中原工");
        UserInfo userInfo2 = new UserInfo();
        userInfo2.setEmail("710395798@qq.com");
        userInfo2.setUsername("jack");
        UserInfo userInfo3 = new UserInfo();
        userInfo3.setEmail("710395798@qq.com");
        userInfo3.setUsername("jack");
        List<UserInfo> list = new ArrayList<>();
        list.add(userInfo);
        list.add(userInfo2);
        list.add(userInfo3);


        map.put("userList",list);
        //直接返回视图  名称即可
        return "hello";
    }



}
